前面講了那麼多例子,我們今天終於要來實作啦。實作的環境很簡單用Google Colab就可以囉,今天要做的就是我們要先建立手寫圖片的資料集幫助我們之後訓練神經網路(這邊使用MNIST手寫數字的資料集)
包含 2 個部分,分別為訓練資料(training dataset)以及測試資料(testing dataset)。訓練資料中包含 60000 張手寫數字圖像,這些圖像為 250 個人的字跡,相較於訓練資料測試資料的數目就少了點(1000張)
那為什麼要分訓練跟測試呢?那是因為我們會拿訓練資料來訓練神經網路,訓練完成後再用測試資料去檢驗成效,如果成效不佳就表示神經網路的訓練過程出現問題要加以修正。
準備好Google Colab後我們就開始寫程式吧,那為了讓大家有練習的機會,我在這邊用的是訓練資料示範,學會後大家可以用測試資料去試試看,我會在最後放上測試資料出現的成果!
from tensorflow.keras.datasets import mnist #匯入資料及模組
import matplotlib.pyplot as plt
import numpy as np
%matplotlib inline #魔法函數用來畫圖的
(X_train,y_train),(X_test,y_test)=mnist.load_data() #開始Downloading data
X_test.shape #查看X_test的形狀
(10000, 28, 28) #出來的結果,10000張手寫圖片,每張圖片是28*28的矩陣
np.set_printoptions(linewidth=np.inf)
X_test[0] #查看X_test的第0筆資料,因為印出來有點難看懂,加上上面那一行讓他有格式化的感覺(不斷行)
會長下面這樣子
y_test[0:12] #看前12筆所對應的標籤,y_test是X_test所對應的標籤,下面一行是出來的結果
array([7, 2, 1, 0, 4, 1, 4, 9, 5, 9, 0, 6], dtype=uint8)
plt.figure(figsize=(5,5))
for k in range (12):
plt.subplot(3,4,k+1) #以3*4方式呈現
plt.imshow(X_test[k],cmap='gray') #將X_test的前12筆資料會製成黑底白字的灰階圖片
plt.tight_layout
plt.show
#將數字圖片畫出來
換成X_train就會是這樣
希望大家都有順利完成,明天見啦!